function NiftyCheck() {
	if (!document.getElementById || !document.createElement)
		return (false);
	var b = navigator.userAgent.toLowerCase();
	if (b.indexOf("msie 5") > 0 && b.indexOf("opera") == -1)
		return (false);
	return (true);
};

function Rounded(selector, bk, color, size) {
	var i;
	var v = getElementsBySelector(selector);
	var l = v.length;
	for (i = 0; i < l; i++) {
		AddTop(v[i], bk, color, size);
		AddBottom(v[i], bk, color, size);
	}
};

function RoundedTop(selector, bk, color, size) {
	var i;
	var v = getElementsBySelector(selector);
	for (i = 0; i < v.length; i++)
		AddTop(v[i], bk, color, size);
};

function RoundedBottom(selector, bk, color, size) {
	var i;
	var v = getElementsBySelector(selector);
	for (i = 0; i < v.length; i++)
		AddBottom(v[i], bk, color, size);
};

function AddTop(el, bk, color, size) {
	var i;
	var d = document.createElement("b");
	var cn = "r";
	var lim = 4;
	if (size && size == "small") {
		cn = "rs";
		lim = 2
	}
	d.className = "rtop";
	d.style.backgroundColor = bk;
	for (i = 1; i <= lim; i++) {
		var x = document.createElement("b");
		x.className = cn + i;
		x.style.backgroundColor = color;
		d.appendChild(x);
	}
	el.insertBefore(d, el.firstChild);
};

function AddBottom(el, bk, color, size) {
	var i;
	var d = document.createElement("b");
	var cn = "r";
	var lim = 4;
	if (size && size == "small") {
		cn = "rs";
		lim = 2
	}
	d.className = "rbottom";
	d.style.backgroundColor = bk;
	for (i = lim; i > 0; i--) {
		var x = document.createElement("b");
		x.className = cn + i;
		x.style.backgroundColor = color;
		d.appendChild(x);
	}
	el.appendChild(d, el.firstChild);
};

function getElementsBySelector(selector) {
	var i;
	var s = [];
	var selid = "";
	var selclass = "";
	var tag = selector;
	var objlist = [];
	if (selector.indexOf(" ") > 0) { // descendant selector like "tag#id tag"
		s = selector.split(" ");
		var fs = s[0].split("#");
		if (fs.length == 1)
			return (objlist);
		return (document.getElementById(fs[1]).getElementsByTagName(s[1]));
	}
	if (selector.indexOf("#") > 0) { // id selector like "tag#id"
		s = selector.split("#");
		tag = s[0];
		selid = s[1];
	}
	if (selid != "") {
		objlist.push(document.getElementById(selid));
		return (objlist);
	}
	if (selector.indexOf(".") > 0) { // class selector like "tag.class"
		s = selector.split(".");
		tag = s[0];
		selclass = s[1];
	}
	var v = document.getElementsByTagName(tag); // tag selector like "tag"
	if (selclass == "")
		return (v);
	for (i = 0; i < v.length; i++) {
		if (v[i].className == selclass) {
			objlist.push(v[i]);
		}
	}
	return (objlist);
};